

<!DOCTYPE html>
<html class="writer-html5" lang="zh" >
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>Scrapy一目了然 &mdash; Scrapy 2.3.0 文档</title>
  

  
  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
  <link rel="stylesheet" href="../_static/css/tooltipster.custom.css" type="text/css" />
  <link rel="stylesheet" href="../_static/css/tooltipster.bundle.min.css" type="text/css" />
  <link rel="stylesheet" href="../_static/css/tooltipster-sideTip-shadow.min.css" type="text/css" />
  <link rel="stylesheet" href="../_static/css/tooltipster-sideTip-punk.min.css" type="text/css" />
  <link rel="stylesheet" href="../_static/css/tooltipster-sideTip-noir.min.css" type="text/css" />
  <link rel="stylesheet" href="../_static/css/tooltipster-sideTip-light.min.css" type="text/css" />
  <link rel="stylesheet" href="../_static/css/tooltipster-sideTip-borderless.min.css" type="text/css" />
  <link rel="stylesheet" href="../_static/css/micromodal.css" type="text/css" />
  <link rel="stylesheet" href="../_static/css/sphinx_rtd_theme.css" type="text/css" />

  
  
  
  

  
  <!--[if lt IE 9]>
    <script src="../_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
        <script src="../_static/jquery.js"></script>
        <script src="../_static/underscore.js"></script>
        <script src="../_static/doctools.js"></script>
        <script src="../_static/language_data.js"></script>
        <script src="../_static/js/hoverxref.js"></script>
        <script src="../_static/js/tooltipster.bundle.min.js"></script>
        <script src="../_static/js/micromodal.min.js"></script>
    
    <script type="text/javascript" src="../_static/js/theme.js"></script>

    
    <link rel="index" title="索引" href="../genindex.html" />
    <link rel="search" title="搜索" href="../search.html" />
    <link rel="next" title="安装指南" href="install.html" />
    <link rel="prev" title="Scrapy 2.3 documentation" href="../index.html" /> 
</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="../index.html" class="icon icon-home" alt="Documentation Home"> Scrapy
          

          
          </a>

          
            
            
              <div class="version">
                2.3
              </div>
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        
        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <p class="caption"><span class="caption-text">第一步</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">Scrapy一目了然</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#walk-through-of-an-example-spider">浏览示例蜘蛛</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#what-just-happened">刚刚发生了什么？</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#what-else">还有什么？</a></li>
<li class="toctree-l2"><a class="reference internal" href="#what-s-next">下一步是什么？</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="install.html">安装指南</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Scrapy 教程</a></li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">实例</a></li>
</ul>
<p class="caption"><span class="caption-text">基本概念</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../topics/commands.html">命令行工具</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/spiders.html">蜘蛛</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/selectors.html">选择器</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/items.html">项目</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/loaders.html">项目加载器</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/shell.html">Scrapy shell</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/item-pipeline.html">项目管道</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/feed-exports.html">Feed 导出</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/request-response.html">请求和响应</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/link-extractors.html">链接提取器</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/settings.html">设置</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/exceptions.html">例外情况</a></li>
</ul>
<p class="caption"><span class="caption-text">内置服务</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../topics/logging.html">登录</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/stats.html">统计数据集合</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/email.html">发送电子邮件</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/telnetconsole.html">远程登录控制台</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/webservice.html">Web服务</a></li>
</ul>
<p class="caption"><span class="caption-text">解决具体问题</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../faq.html">常见问题</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/debug.html">调试spiders</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/contracts.html">蜘蛛合约</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/practices.html">常用做法</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/broad-crawls.html">宽爬行</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/developer-tools.html">使用浏览器的开发人员工具进行抓取</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/dynamic-content.html">选择动态加载的内容</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/leaks.html">调试内存泄漏</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/media-pipeline.html">下载和处理文件和图像</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/deploy.html">部署蜘蛛</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/autothrottle.html">AutoThrottle 扩展</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/benchmarking.html">标杆管理</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/jobs.html">作业：暂停和恢复爬行</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/coroutines.html">协同程序</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/asyncio.html">asyncio</a></li>
</ul>
<p class="caption"><span class="caption-text">扩展Scrapy</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../topics/architecture.html">体系结构概述</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/downloader-middleware.html">下载器中间件</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/spider-middleware.html">蜘蛛中间件</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/extensions.html">扩展</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/api.html">核心API</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/signals.html">信号</a></li>
<li class="toctree-l1"><a class="reference internal" href="../topics/exporters.html">条目导出器</a></li>
</ul>
<p class="caption"><span class="caption-text">其余所有</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../news.html">发行说明</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">为 Scrapy 贡献</a></li>
<li class="toctree-l1"><a class="reference internal" href="../versioning.html">版本控制和API稳定性</a></li>
</ul>

            
          
        </div>
        
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../index.html">Scrapy</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
        
      <li>Scrapy一目了然</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="scrapy-at-a-glance">
<span id="intro-overview"></span><h1>Scrapy一目了然<a class="headerlink" href="#scrapy-at-a-glance" title="永久链接至标题">¶</a></h1>
<p>Scrapy是一个应用程序框架，用于对网站进行爬行和提取结构化数据，这些结构化数据可用于各种有用的应用程序，如数据挖掘、信息处理或历史存档。</p>
<p>尽管Scrapy最初是为 <a class="reference external" href="https://en.wikipedia.org/wiki/Web_scraping">web scraping</a> 它还可以用于使用API提取数据（例如 <a class="reference external" href="https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html">Amazon Associates Web Services</a> ）或者作为一个通用的网络爬虫。</p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-1466963416408457"
     data-ad-slot="8850786025"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
<div class="section" id="walk-through-of-an-example-spider">
<h2>浏览示例蜘蛛<a class="headerlink" href="#walk-through-of-an-example-spider" title="永久链接至标题">¶</a></h2>
<p>为了向您展示Scrapy带来的内容，我们将以最简单的方式运行蜘蛛，向您介绍Scrapy Spider的示例。</p>
<p>以下是一个蜘蛛代码，它从网站http://quotes.toscrape.com上抓取著名的引语，按照以下页码：</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">scrapy</span>


<span class="k">class</span> <span class="nc">QuotesSpider</span><span class="p">(</span><span class="n">scrapy</span><span class="o">.</span><span class="n">Spider</span><span class="p">):</span>
    <span class="n">name</span> <span class="o">=</span> <span class="s1">&#39;quotes&#39;</span>
    <span class="n">start_urls</span> <span class="o">=</span> <span class="p">[</span>
        <span class="s1">&#39;http://quotes.toscrape.com/tag/humor/&#39;</span><span class="p">,</span>
    <span class="p">]</span>

    <span class="k">def</span> <span class="nf">parse</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
        <span class="k">for</span> <span class="n">quote</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">css</span><span class="p">(</span><span class="s1">&#39;div.quote&#39;</span><span class="p">):</span>
            <span class="k">yield</span> <span class="p">{</span>
                <span class="s1">&#39;author&#39;</span><span class="p">:</span> <span class="n">quote</span><span class="o">.</span><span class="n">xpath</span><span class="p">(</span><span class="s1">&#39;span/small/text()&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">get</span><span class="p">(),</span>
                <span class="s1">&#39;text&#39;</span><span class="p">:</span> <span class="n">quote</span><span class="o">.</span><span class="n">css</span><span class="p">(</span><span class="s1">&#39;span.text::text&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">get</span><span class="p">(),</span>
            <span class="p">}</span>

        <span class="n">next_page</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">css</span><span class="p">(</span><span class="s1">&#39;li.next a::attr(&quot;href&quot;)&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
        <span class="k">if</span> <span class="n">next_page</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
            <span class="k">yield</span> <span class="n">response</span><span class="o">.</span><span class="n">follow</span><span class="p">(</span><span class="n">next_page</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">parse</span><span class="p">)</span>
</pre></div>
</div>
<p>把它放在一个文本文件中，命名为 <code class="docutils literal notranslate"><span class="pre">quotes_spider.py</span></code> 然后用 <a class="reference internal" href="../topics/commands.html#std-command-runspider"><code class="xref std std-command docutils literal notranslate"><span class="pre">runspider</span></code></a> 命令：</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">scrapy</span> <span class="n">runspider</span> <span class="n">quotes_spider</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">o</span> <span class="n">quotes</span><span class="o">.</span><span class="n">jl</span>
</pre></div>
</div>
<p>完成后，您将 <code class="docutils literal notranslate"><span class="pre">quotes.jl</span></code> 以JSON行格式提交一个引号列表，包含文本和作者，如下所示：</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="s2">&quot;author&quot;</span><span class="p">:</span> <span class="s2">&quot;Jane Austen&quot;</span><span class="p">,</span> <span class="s2">&quot;text&quot;</span><span class="p">:</span> <span class="s2">&quot;</span><span class="se">\u201c</span><span class="s2">The person, be it gentleman or lady, who has not pleasure in a good novel, must be intolerably stupid.</span><span class="se">\u201d</span><span class="s2">&quot;</span><span class="p">}</span>
<span class="p">{</span><span class="s2">&quot;author&quot;</span><span class="p">:</span> <span class="s2">&quot;Steve Martin&quot;</span><span class="p">,</span> <span class="s2">&quot;text&quot;</span><span class="p">:</span> <span class="s2">&quot;</span><span class="se">\u201c</span><span class="s2">A day without sunshine is like, you know, night.</span><span class="se">\u201d</span><span class="s2">&quot;</span><span class="p">}</span>
<span class="p">{</span><span class="s2">&quot;author&quot;</span><span class="p">:</span> <span class="s2">&quot;Garrison Keillor&quot;</span><span class="p">,</span> <span class="s2">&quot;text&quot;</span><span class="p">:</span> <span class="s2">&quot;</span><span class="se">\u201c</span><span class="s2">Anyone who thinks sitting in church can make you a Christian must also think that sitting in a garage can make you a car.</span><span class="se">\u201d</span><span class="s2">&quot;</span><span class="p">}</span>
<span class="o">...</span>
</pre></div>
</div>
<div class="section" id="what-just-happened">
<h3>刚刚发生了什么？<a class="headerlink" href="#what-just-happened" title="永久链接至标题">¶</a></h3>
<p>当你运行命令时 <code class="docutils literal notranslate"><span class="pre">scrapy</span> <span class="pre">runspider</span> <span class="pre">quotes_spider.py</span></code> 斯克里奇在里面寻找蜘蛛的定义，然后用它的爬行引擎运行。</p>
<p>通过向中定义的URL发出请求启动的爬网 <code class="docutils literal notranslate"><span class="pre">start_urls</span></code> 属性（在本例中，只有引号的URL <em>humor</em> 并调用默认回调方法 <code class="docutils literal notranslate"><span class="pre">parse</span></code> ，将响应对象作为参数传递。在 <code class="docutils literal notranslate"><span class="pre">parse</span></code> 回调，我们使用CSS选择器循环引用元素，生成一个包含提取的引号文本和作者的python dict，查找到下一页的链接，并使用它调度另一个请求。 <code class="docutils literal notranslate"><span class="pre">parse</span></code> 方法作为回调。</p>
<p>在这里，您注意到Scrapy的一个主要优点：请求是 <a class="reference internal" href="../topics/architecture.html#topics-architecture"><span class="std std-ref">scheduled and processed asynchronously</span></a> . 这意味着Scrapy不需要等待请求完成和处理，它可以同时发送另一个请求或做其他事情。这也意味着，即使某些请求失败或在处理过程中发生错误，其他请求也可以继续进行。</p>
<p>虽然这使您能够非常快速地进行爬行（同时以容错的方式发送多个并发请求），但Scrapy还使您能够控制爬行的礼貌性。 <a class="reference internal" href="../topics/settings.html#topics-settings-ref"><span class="std std-ref">a few settings</span></a> . 您可以在每个请求之间设置下载延迟、限制每个域或每个IP的并发请求量，甚至 <a class="reference internal" href="../topics/autothrottle.html#topics-autothrottle"><span class="std std-ref">using an auto-throttling extension</span></a> 它试图自动解决这些问题。</p>
<div class="admonition note">
<p class="admonition-title">注解</p>
<p>这是使用 <a class="reference internal" href="../topics/feed-exports.html#topics-feed-exports"><span class="std std-ref">feed exports</span></a> 要生成JSON文件，您可以轻松地更改导出格式（例如XML或CSV）或存储后端（FTP或 <a class="reference external" href="https://aws.amazon.com/s3/">Amazon S3</a> 例如）。你也可以写一个 <a class="reference internal" href="../topics/item-pipeline.html#topics-item-pipeline"><span class="std std-ref">item pipeline</span></a> 将项目存储在数据库中。</p>
</div>
</div>
</div>
<div class="section" id="what-else">
<span id="topics-whatelse"></span><h2>还有什么？<a class="headerlink" href="#what-else" title="永久链接至标题">¶</a></h2>
<p>你已经看到了如何使用Scrapy从网站中提取和存储项目，但这只是表面现象。Scrapy提供了许多强大的功能，使抓取变得简单和高效，例如：</p>
<ul class="simple">
<li><p>内置支持 <a class="reference internal" href="../topics/selectors.html#topics-selectors"><span class="std std-ref">selecting and extracting</span></a> 使用扩展的CSS选择器和XPath表达式从HTML/XML源中获取数据，并使用正则表达式提取助手方法。</p></li>
<li><p><a class="reference internal" href="../topics/shell.html#topics-shell"><span class="std std-ref">interactive shell console</span></a> （ipython-aware）用于尝试使用css和xpath表达式来获取数据，在编写或调试spider时非常有用。</p></li>
<li><p>内置支持 <a class="reference internal" href="../topics/feed-exports.html#topics-feed-exports"><span class="std std-ref">generating feed exports</span></a> 以多种格式（json、csv、xml）存储在多个后端（ftp、s3、本地文件系统）</p></li>
<li><p>强大的编码支持和自动检测，用于处理外部、非标准和中断的编码声明。</p></li>
<li><p><a class="reference internal" href="../index.html#extending-scrapy"><span class="std std-ref">Strong extensibility support</span></a> ，允许您使用 <a class="reference internal" href="../topics/signals.html#topics-signals"><span class="std std-ref">signals</span></a> 以及定义良好的API（中间件， <a class="reference internal" href="../topics/extensions.html#topics-extensions"><span class="std std-ref">extensions</span></a> 和 <a class="reference internal" href="../topics/item-pipeline.html#topics-item-pipeline"><span class="std std-ref">pipelines</span></a> ）</p></li>
<li><p>广泛的内置扩展和用于处理的中间产品：</p>
<ul>
<li><p>cookie和会话处理</p></li>
<li><p>HTTP功能，如压缩、身份验证、缓存</p></li>
<li><p>用户代理欺骗</p></li>
<li><p>robots.txt</p></li>
<li><p>爬行深度限制</p></li>
<li><p>更多</p></li>
</ul>
</li>
<li><p>A <a class="reference internal" href="../topics/telnetconsole.html#topics-telnetconsole"><span class="std std-ref">Telnet console</span></a> 用于挂接到运行在Scrapy进程中的Python控制台，以便内省和调试爬虫程序</p></li>
<li><p>还有其他的好东西，比如可重复使用的蜘蛛 <a class="reference external" href="https://www.sitemaps.org/index.html">Sitemaps</a> 和XML/CSV源，这是 <a class="reference internal" href="../topics/media-pipeline.html#topics-media-pipeline"><span class="std std-ref">automatically downloading images</span></a> （或任何其他媒体）与抓取的项目、缓存DNS解析程序等相关！</p></li>
</ul>
</div>
<div class="section" id="what-s-next">
<h2>下一步是什么？<a class="headerlink" href="#what-s-next" title="永久链接至标题">¶</a></h2>
<p>接下来的步骤是 <a class="reference internal" href="install.html#intro-install"><span class="std std-ref">install Scrapy</span></a> ， <a class="reference internal" href="tutorial.html#intro-tutorial"><span class="std std-ref">follow through the tutorial</span></a> 学习如何创建一个完整的Scrapy项目和 <a class="reference external" href="https://scrapy.org/community/">join the community</a> . 感谢您的关注！</p>
</div>
</div>


           </div>
           
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="install.html" class="btn btn-neutral float-right" title="安装指南" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="../index.html" class="btn btn-neutral float-left" title="Scrapy 2.3 documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      
    </div>
  

  <hr/>

  <div role="contentinfo">
    <p>
        
        &copy; 版权所有 2008–2020, Scrapy developers
      <span class="lastupdated">
        最后更新于 10月 18, 2020.
      </span>

    </p>
  </div>
    
    
    
    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
    
    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
    
    provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>

        </div>
      </div>

    </section>

  </div>
  

  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
  
 
<script type="text/javascript">
!function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t){var e=document.createElement("script");e.type="text/javascript";e.async=!0;e.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(e,n)};analytics.SNIPPET_VERSION="3.1.0";
analytics.load("8UDQfnf3cyFSTsM4YANnW5sXmgZVILbA");
analytics.page();
}}();

analytics.ready(function () {
    ga('require', 'linker');
    ga('linker:autoLink', ['scrapinghub.com', 'crawlera.com']);
});
</script>


</body>
</html>